/* Vant UI 主题定制 - 执手记风格 */

:root:root {
  /* 主题色 */
  --van-primary-color: #ff9a9e;
  --van-success-color: #67c23a;
  --van-danger-color: #f56c6c;
  --van-warning-color: #e6a23c;
  --van-info-color: #909399;
  
  /* 文本色 */
  --van-text-color: #333;
  --van-text-color-2: #666;
  --van-text-color-3: #999;
  
  /* 背景色 */
  --van-background: #ffeef8;
  --van-background-2: #fff5f7;
  
  /* 边框色 */
  --van-border-color: #ffe0ec;
  
  /* 字体 */
  --van-base-font: 'Microsoft YaHei', 'PingFang SC', 'Helvetica Neue', Arial, sans-serif;
  
  /* 圆角 */
  --van-radius-sm: 8px;
  --van-radius-md: 12px;
  --van-radius-lg: 16px;
  --van-radius-max: 999px;
  
  /* 阴影 */
  --van-shadow-1: 0 2px 8px rgba(255, 154, 158, 0.1);
  --van-shadow-2: 0 4px 12px rgba(255, 154, 158, 0.2);
  --van-shadow-3: 0 6px 16px rgba(255, 154, 158, 0.3);
  
  /* 动画时长 */
  --van-duration-base: 0.3s;
  --van-duration-fast: 0.2s;
  
  /* TabBar */
  --van-tabbar-height: 50px;
  --van-tabbar-background: #fff;
  --van-tabbar-item-active-color: #ff69b4;
  --van-tabbar-item-active-background: rgba(255, 105, 180, 0.05);
  
  /* Button */
  --van-button-primary-background: linear-gradient(90deg, #ff9a9e 0%, #fecfef 100%);
  --van-button-primary-border-color: transparent;
  --van-button-border-radius: 24px;
  --van-button-default-height: 44px;
  --van-button-large-height: 48px;
  --van-button-small-height: 32px;
  
  /* Cell */
  --van-cell-background: #fff;
  --van-cell-border-color: #ffe0ec;
  --van-cell-active-color: #ffeef8;
  
  /* Dialog */
  --van-dialog-border-radius: 16px;
  --van-dialog-background: #fff;
  
  /* Popup */
  --van-popup-border-radius: 16px;
  --van-popup-background: #fff;
  
  /* Field */
  --van-field-input-text-color: #333;
  --van-field-placeholder-text-color: #999;
  --van-field-border-color: #ffe0ec;
  
  /* Toast */
  --van-toast-background: rgba(0, 0, 0, 0.7);
  --van-toast-border-radius: 12px;

  /* Notify */
  --van-notify-padding: 12px 16px;
  --van-notify-font-size: 14px;
  --van-notify-line-height: 1.5;
  --van-notify-primary-background: linear-gradient(135deg, #ff9a9e 0%, #fecfef 100%);
  --van-notify-success-background: linear-gradient(135deg, #67c23a 0%, #85ce61 100%);
  --van-notify-warning-background: linear-gradient(135deg, #e6a23c 0%, #f0c78a 100%);
  --van-notify-danger-background: linear-gradient(135deg, #f56c6c 0%, #f78989 100%);

  /* Badge */
  --van-badge-background: linear-gradient(135deg, #ff69b4 0%, #ff1493 100%);
  --van-badge-color: #fff;
  
  /* Tag */
  --van-tag-primary-color: #ff9a9e;
  --van-tag-border-radius: 8px;
  
  /* Card */
  --van-card-background: #fff;
  --van-card-border-radius: 12px;
}

/* 自定义 Vant 组件样式 */

/* Button 渐变效果 */
.van-button--primary {
  background: linear-gradient(90deg, #ff9a9e 0%, #fecfef 100%);
  border: none;
  box-shadow: 0 4px 12px rgba(255, 154, 158, 0.3);
  transition: all 0.3s;
}

.van-button--primary:active {
  background: linear-gradient(90deg, #ff8a8e 0%, #febfdf 100%);
  transform: translateY(1px);
  box-shadow: 0 2px 8px rgba(255, 154, 158, 0.3);
}

/* TabBar 样式优化 */
.van-tabbar {
  box-shadow: 0 -2px 12px rgba(255, 154, 158, 0.1);
}

.van-tabbar-item--active {
  background: linear-gradient(180deg, rgba(255, 105, 180, 0.05) 0%, transparent 100%);
}

/* Badge 渐变效果 */
.van-badge {
  background: linear-gradient(135deg, #ff69b4 0%, #ff1493 100%);
  border: 2px solid #fff;
  box-shadow: 0 2px 8px rgba(255, 105, 180, 0.3);
}

/* Dialog 样式优化 */
.van-dialog {
  box-shadow: 0 8px 24px rgba(255, 154, 158, 0.3);
}

.van-dialog__header {
  color: #ff69b4;
  font-weight: bold;
}

.van-dialog__confirm {
  color: #ff69b4;
}

/* Popup 样式优化 */
.van-popup {
  box-shadow: 0 -4px 16px rgba(255, 154, 158, 0.2);
}

/* Cell 样式优化 */
.van-cell {
  transition: background-color 0.3s;
}

.van-cell:active {
  background-color: #ffeef8;
}

/* Field 样式优化 */
.van-field__control {
  font-size: 16px; /* 防止 iOS 自动缩放 */
}

.van-field__control:focus {
  border-color: #ff9a9e;
}

/* Toast 样式优化 */
.van-toast {
  backdrop-filter: blur(10px);
}

/* Notify 样式优化 */
.van-notify {
  font-size: 14px;
  line-height: 1.5;
  padding: 12px 16px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  backdrop-filter: blur(10px);
  white-space: pre-line; /* 支持换行符 */
}

.van-notify--primary {
  background: linear-gradient(135deg, #ff9a9e 0%, #fecfef 100%);
  color: #fff;
}

.van-notify--success {
  background: linear-gradient(135deg, #67c23a 0%, #85ce61 100%);
  color: #fff;
}

.van-notify--warning {
  background: linear-gradient(135deg, #e6a23c 0%, #f0c78a 100%);
  color: #fff;
}

.van-notify--danger {
  background: linear-gradient(135deg, #f56c6c 0%, #f78989 100%);
  color: #fff;
}

/* Tag 样式优化 */
.van-tag--primary {
  background: linear-gradient(90deg, #ff9a9e 0%, #fecfef 100%);
  border: none;
  color: #fff;
}

/* Card 样式优化 */
.van-card {
  box-shadow: 0 4px 12px rgba(255, 154, 158, 0.1);
  transition: all 0.3s;
}

.van-card:active {
  box-shadow: 0 6px 16px rgba(255, 154, 158, 0.2);
  transform: translateY(-2px);
}

/* Swipe 指示器样式 */
.van-swipe__indicator {
  background-color: rgba(255, 154, 158, 0.3);
}

.van-swipe__indicator--active {
  background: linear-gradient(90deg, #ff9a9e 0%, #fecfef 100%);
}

/* ActionSheet 样式优化 */
.van-action-sheet__item {
  transition: background-color 0.3s;
}

.van-action-sheet__item:active {
  background-color: #ffeef8;
}

/* Picker 样式优化 */
.van-picker__confirm {
  color: #ff69b4;
}

/* Switch 样式优化 */
.van-switch--on {
  background: linear-gradient(90deg, #ff9a9e 0%, #fecfef 100%);
}

/* Stepper 样式优化 */
.van-stepper__plus,
.van-stepper__minus {
  color: #ff69b4;
  border-color: #ff9a9e;
}

.van-stepper__plus:active,
.van-stepper__minus:active {
  background-color: #ffeef8;
}

/* Checkbox 样式优化 */
.van-checkbox__icon--checked {
  background: linear-gradient(135deg, #ff69b4 0%, #ff1493 100%);
  border-color: #ff69b4;
}

/* Radio 样式优化 */
.van-radio__icon--checked {
  background: linear-gradient(135deg, #ff69b4 0%, #ff1493 100%);
  border-color: #ff69b4;
}

/* Loading 样式优化 */
.van-loading__spinner {
  color: #ff69b4;
}

/* Empty 样式优化 */
.van-empty__description {
  color: #999;
}

/* 移动端触摸优化 */
.van-button,
.van-cell,
.van-tabbar-item,
.van-action-sheet__item {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  user-select: none;
}

/* 安全区域适配 */
.van-tabbar--fixed {
  padding-bottom: constant(safe-area-inset-bottom);
  padding-bottom: env(safe-area-inset-bottom);
}

.van-popup--bottom {
  padding-bottom: constant(safe-area-inset-bottom);
  padding-bottom: env(safe-area-inset-bottom);
}

